<div id="metadata" title="Home - Office UI Fabric" description="The official front-end framework for building experiences that fit seamlessly into Office and Office 365."
  style="visibility:hidden"></div>
<style>
  body,
  html {
    margin: 0;
    padding: 0;
  }

  .loading {
    align-items: center;
    background-color: #212121;
    border-top: 50px solid #000;
    display: flex;
    height: 100vh;
    justify-content: center;
  }
</style>

<div id="main">
  <div class="loading">
    <img class="loadingImage" src="https://static2.sharepointonline.com/files/fabric/fabric-website/images/spinner.gif"
      alt="Loading" width="32" height="32" />
  </div>
</div>

<script type="text/javascript">
  var noCompress = getParameterByName('noCompress');
  var entryPointFilename = 'fabric-sitev5';
  var appPath = '';
  var configPrefix = 'fabric-website-df';
  var Flight = {};

  if (location.hostname === 'developer.microsoft.com') {
    configPrefix = 'fabric-website-prod';
  }

  var configScript = ['https://fabricweb.azureedge.net/fabric-website/manifests/' + configPrefix + '.js'];

  loadScripts(configScript, function () {
    if (window.Flight) {
      appPath += window.Flight.baseCDNUrl;

      loadAppScripts(appPath);
    }
  });

  // Simple synchronous script loader with callback. Adapted from https://stackoverflow.com/questions/1866717
  function loadScripts(array, callback) {
    var loader = function (src, handler) {
      var script = document.createElement('script');
      script.src = src;
      script.onload = script.onreadystatechange = function () {
        script.onreadystatechange = script.onload = null;
        handler();
      }
      var head = document.getElementsByTagName('head')[0];
      (head || document.body).appendChild(script);
    };
    (function run() {
      if (array.length != 0) {
        loader(array.shift(), run);
      } else {
        callback && callback();
      }
    })();
  }

  function loadAppScripts(appPath) {
    if (noCompress) {
      appPath += entryPointFilename + '.js';
    } else {
      appPath += entryPointFilename + '.min.js';
    }

    var scripts = [appPath];
    loadScripts(scripts);
  }

  function getParameterByName(name, url) {
    if (!url) {
      url = window.location.search;
    }
    name = name.replace(/[\[\]]/g, "\\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
      results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, " "));
  }
</script>